
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>platform — Access to underlying platform’s identifying data &#8212; Python 3.7.2 documentation</title>
    <link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    
    <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/language_data.js"></script>
    
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python 3.7.2 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="next" title="errno — Standard errno system symbols" href="errno.html" />
    <link rel="prev" title="curses.panel — A panel stack extension for curses" href="curses.panel.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <link rel="canonical" href="https://docs.python.org/3/library/platform.html" />
    
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    
    
    
    
    <style>
      @media only screen {
        table.full-width-table {
            width: 100%;
        }
      }
    </style>
 

  </head><body>  
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="errno.html" title="errno — Standard errno system symbols"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="curses.panel.html" title="curses.panel — A panel stack extension for curses"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &#187;</li>
        <li>
          <a href="../index.html">3.7.2 Documentation</a> &#187;
        </li>

          <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="allos.html" accesskey="U">Generic Operating System Services</a> &#187;</li>
    <li class="right">
        

    <div class="inline-search" style="display: none" role="search">
        <form class="inline-search" action="../search.html" method="get">
          <input placeholder="Quick search" type="text" name="q" />
          <input type="submit" value="Go" />
          <input type="hidden" name="check_keywords" value="yes" />
          <input type="hidden" name="area" value="default" />
        </form>
    </div>
    <script type="text/javascript">$('.inline-search').show(0);</script>
         |
    </li>

      </ul>
    </div>    

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="module-platform">
<span id="platform-access-to-underlying-platform-s-identifying-data"></span><h1><a class="reference internal" href="#module-platform" title="platform: Retrieves as much platform identifying data as possible."><code class="xref py py-mod docutils literal notranslate"><span class="pre">platform</span></code></a> —  Access to underlying platform’s identifying data<a class="headerlink" href="#module-platform" title="Permalink to this headline">¶</a></h1>
<p><strong>Source code:</strong> <a class="reference external" href="https://github.com/python/cpython/tree/3.7/Lib/platform.py">Lib/platform.py</a></p>
<hr class="docutils" />
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Specific platforms listed alphabetically, with Linux included in the Unix
section.</p>
</div>
<div class="section" id="cross-platform">
<h2>Cross Platform<a class="headerlink" href="#cross-platform" title="Permalink to this headline">¶</a></h2>
<dl class="function">
<dt id="platform.architecture">
<code class="descclassname">platform.</code><code class="descname">architecture</code><span class="sig-paren">(</span><em>executable=sys.executable</em>, <em>bits=''</em>, <em>linkage=''</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.architecture" title="Permalink to this definition">¶</a></dt>
<dd><p>Queries the given executable (defaults to the Python interpreter binary) for
various architecture information.</p>
<p>Returns a tuple <code class="docutils literal notranslate"><span class="pre">(bits,</span> <span class="pre">linkage)</span></code> which contain information about the bit
architecture and the linkage format used for the executable. Both values are
returned as strings.</p>
<p>Values that cannot be determined are returned as given by the parameter presets.
If bits is given as <code class="docutils literal notranslate"><span class="pre">''</span></code>, the <code class="docutils literal notranslate"><span class="pre">sizeof(pointer)</span></code> (or
<code class="docutils literal notranslate"><span class="pre">sizeof(long)</span></code> on Python version &lt; 1.5.2) is used as indicator for the
supported pointer size.</p>
<p>The function relies on the system’s <code class="file docutils literal notranslate"><span class="pre">file</span></code> command to do the actual work.
This is available on most if not all Unix  platforms and some non-Unix platforms
and then only if the executable points to the Python interpreter.  Reasonable
defaults are used when the above needs are not met.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p>On Mac OS X (and perhaps other platforms), executable files may be
universal files containing multiple architectures.</p>
<p>To get at the “64-bitness” of the current interpreter, it is more
reliable to query the <a class="reference internal" href="sys.html#sys.maxsize" title="sys.maxsize"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sys.maxsize</span></code></a> attribute:</p>
<div class="last highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="n">is_64bits</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">maxsize</span> <span class="o">&gt;</span> <span class="mi">2</span><span class="o">**</span><span class="mi">32</span>
</pre></div>
</div>
</div>
</dd></dl>

<dl class="function">
<dt id="platform.machine">
<code class="descclassname">platform.</code><code class="descname">machine</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.machine" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the machine type, e.g. <code class="docutils literal notranslate"><span class="pre">'i386'</span></code>. An empty string is returned if the
value cannot be determined.</p>
</dd></dl>

<dl class="function">
<dt id="platform.node">
<code class="descclassname">platform.</code><code class="descname">node</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.node" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the computer’s network name (may not be fully qualified!). An empty
string is returned if the value cannot be determined.</p>
</dd></dl>

<dl class="function">
<dt id="platform.platform">
<code class="descclassname">platform.</code><code class="descname">platform</code><span class="sig-paren">(</span><em>aliased=0</em>, <em>terse=0</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.platform" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a single string identifying the underlying platform with as much useful
information as possible.</p>
<p>The output is intended to be <em>human readable</em> rather than machine parseable. It
may look different on different platforms and this is intended.</p>
<p>If <em>aliased</em> is true, the function will use aliases for various platforms that
report system names which differ from their common names, for example SunOS will
be reported as Solaris.  The <a class="reference internal" href="#platform.system_alias" title="platform.system_alias"><code class="xref py py-func docutils literal notranslate"><span class="pre">system_alias()</span></code></a> function is used to implement
this.</p>
<p>Setting <em>terse</em> to true causes the function to return only the absolute minimum
information needed to identify the platform.</p>
</dd></dl>

<dl class="function">
<dt id="platform.processor">
<code class="descclassname">platform.</code><code class="descname">processor</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.processor" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the (real) processor name, e.g. <code class="docutils literal notranslate"><span class="pre">'amdk6'</span></code>.</p>
<p>An empty string is returned if the value cannot be determined. Note that many
platforms do not provide this information or simply return the same value as for
<a class="reference internal" href="#platform.machine" title="platform.machine"><code class="xref py py-func docutils literal notranslate"><span class="pre">machine()</span></code></a>.  NetBSD does this.</p>
</dd></dl>

<dl class="function">
<dt id="platform.python_build">
<code class="descclassname">platform.</code><code class="descname">python_build</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.python_build" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a tuple <code class="docutils literal notranslate"><span class="pre">(buildno,</span> <span class="pre">builddate)</span></code> stating the Python build number and
date as strings.</p>
</dd></dl>

<dl class="function">
<dt id="platform.python_compiler">
<code class="descclassname">platform.</code><code class="descname">python_compiler</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.python_compiler" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a string identifying the compiler used for compiling Python.</p>
</dd></dl>

<dl class="function">
<dt id="platform.python_branch">
<code class="descclassname">platform.</code><code class="descname">python_branch</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.python_branch" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a string identifying the Python implementation SCM branch.</p>
</dd></dl>

<dl class="function">
<dt id="platform.python_implementation">
<code class="descclassname">platform.</code><code class="descname">python_implementation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.python_implementation" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a string identifying the Python implementation. Possible return values
are: ‘CPython’, ‘IronPython’, ‘Jython’, ‘PyPy’.</p>
</dd></dl>

<dl class="function">
<dt id="platform.python_revision">
<code class="descclassname">platform.</code><code class="descname">python_revision</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.python_revision" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a string identifying the Python implementation SCM revision.</p>
</dd></dl>

<dl class="function">
<dt id="platform.python_version">
<code class="descclassname">platform.</code><code class="descname">python_version</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.python_version" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the Python version as string <code class="docutils literal notranslate"><span class="pre">'major.minor.patchlevel'</span></code>.</p>
<p>Note that unlike the Python <code class="docutils literal notranslate"><span class="pre">sys.version</span></code>, the returned value will always
include the patchlevel (it defaults to 0).</p>
</dd></dl>

<dl class="function">
<dt id="platform.python_version_tuple">
<code class="descclassname">platform.</code><code class="descname">python_version_tuple</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.python_version_tuple" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the Python version as tuple <code class="docutils literal notranslate"><span class="pre">(major,</span> <span class="pre">minor,</span> <span class="pre">patchlevel)</span></code> of strings.</p>
<p>Note that unlike the Python <code class="docutils literal notranslate"><span class="pre">sys.version</span></code>, the returned value will always
include the patchlevel (it defaults to <code class="docutils literal notranslate"><span class="pre">'0'</span></code>).</p>
</dd></dl>

<dl class="function">
<dt id="platform.release">
<code class="descclassname">platform.</code><code class="descname">release</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.release" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the system’s release, e.g. <code class="docutils literal notranslate"><span class="pre">'2.2.0'</span></code> or <code class="docutils literal notranslate"><span class="pre">'NT'</span></code> An empty string is
returned if the value cannot be determined.</p>
</dd></dl>

<dl class="function">
<dt id="platform.system">
<code class="descclassname">platform.</code><code class="descname">system</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.system" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the system/OS name, e.g. <code class="docutils literal notranslate"><span class="pre">'Linux'</span></code>, <code class="docutils literal notranslate"><span class="pre">'Windows'</span></code>, or <code class="docutils literal notranslate"><span class="pre">'Java'</span></code>. An
empty string is returned if the value cannot be determined.</p>
</dd></dl>

<dl class="function">
<dt id="platform.system_alias">
<code class="descclassname">platform.</code><code class="descname">system_alias</code><span class="sig-paren">(</span><em>system</em>, <em>release</em>, <em>version</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.system_alias" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns <code class="docutils literal notranslate"><span class="pre">(system,</span> <span class="pre">release,</span> <span class="pre">version)</span></code> aliased to common marketing names used
for some systems.  It also does some reordering of the information in some cases
where it would otherwise cause confusion.</p>
</dd></dl>

<dl class="function">
<dt id="platform.version">
<code class="descclassname">platform.</code><code class="descname">version</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.version" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the system’s release version, e.g. <code class="docutils literal notranslate"><span class="pre">'#3</span> <span class="pre">on</span> <span class="pre">degas'</span></code>. An empty string is
returned if the value cannot be determined.</p>
</dd></dl>

<dl class="function">
<dt id="platform.uname">
<code class="descclassname">platform.</code><code class="descname">uname</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#platform.uname" title="Permalink to this definition">¶</a></dt>
<dd><p>Fairly portable uname interface. Returns a <a class="reference internal" href="collections.html#collections.namedtuple" title="collections.namedtuple"><code class="xref py py-func docutils literal notranslate"><span class="pre">namedtuple()</span></code></a>
containing six attributes: <a class="reference internal" href="#platform.system" title="platform.system"><code class="xref py py-attr docutils literal notranslate"><span class="pre">system</span></code></a>, <a class="reference internal" href="#platform.node" title="platform.node"><code class="xref py py-attr docutils literal notranslate"><span class="pre">node</span></code></a>, <a class="reference internal" href="#platform.release" title="platform.release"><code class="xref py py-attr docutils literal notranslate"><span class="pre">release</span></code></a>,
<a class="reference internal" href="#platform.version" title="platform.version"><code class="xref py py-attr docutils literal notranslate"><span class="pre">version</span></code></a>, <a class="reference internal" href="#platform.machine" title="platform.machine"><code class="xref py py-attr docutils literal notranslate"><span class="pre">machine</span></code></a>, and <a class="reference internal" href="#platform.processor" title="platform.processor"><code class="xref py py-attr docutils literal notranslate"><span class="pre">processor</span></code></a>.</p>
<p>Note that this adds a sixth attribute (<a class="reference internal" href="#platform.processor" title="platform.processor"><code class="xref py py-attr docutils literal notranslate"><span class="pre">processor</span></code></a>) not present
in the <a class="reference internal" href="os.html#os.uname" title="os.uname"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.uname()</span></code></a> result.  Also, the attribute names are different
for the first two attributes; <a class="reference internal" href="os.html#os.uname" title="os.uname"><code class="xref py py-func docutils literal notranslate"><span class="pre">os.uname()</span></code></a> names them
<code class="xref py py-attr docutils literal notranslate"><span class="pre">sysname</span></code> and <code class="xref py py-attr docutils literal notranslate"><span class="pre">nodename</span></code>.</p>
<p>Entries which cannot be determined are set to <code class="docutils literal notranslate"><span class="pre">''</span></code>.</p>
<div class="versionchanged">
<p><span class="versionmodified">Changed in version 3.3: </span>Result changed from a tuple to a namedtuple.</p>
</div>
</dd></dl>

</div>
<div class="section" id="java-platform">
<h2>Java Platform<a class="headerlink" href="#java-platform" title="Permalink to this headline">¶</a></h2>
<dl class="function">
<dt id="platform.java_ver">
<code class="descclassname">platform.</code><code class="descname">java_ver</code><span class="sig-paren">(</span><em>release=''</em>, <em>vendor=''</em>, <em>vminfo=(''</em>, <em>''</em>, <em>'')</em>, <em>osinfo=(''</em>, <em>''</em>, <em>'')</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.java_ver" title="Permalink to this definition">¶</a></dt>
<dd><p>Version interface for Jython.</p>
<p>Returns a tuple <code class="docutils literal notranslate"><span class="pre">(release,</span> <span class="pre">vendor,</span> <span class="pre">vminfo,</span> <span class="pre">osinfo)</span></code> with <em>vminfo</em> being a
tuple <code class="docutils literal notranslate"><span class="pre">(vm_name,</span> <span class="pre">vm_release,</span> <span class="pre">vm_vendor)</span></code> and <em>osinfo</em> being a tuple
<code class="docutils literal notranslate"><span class="pre">(os_name,</span> <span class="pre">os_version,</span> <span class="pre">os_arch)</span></code>. Values which cannot be determined are set to
the defaults given as parameters (which all default to <code class="docutils literal notranslate"><span class="pre">''</span></code>).</p>
</dd></dl>

</div>
<div class="section" id="windows-platform">
<h2>Windows Platform<a class="headerlink" href="#windows-platform" title="Permalink to this headline">¶</a></h2>
<dl class="function">
<dt id="platform.win32_ver">
<code class="descclassname">platform.</code><code class="descname">win32_ver</code><span class="sig-paren">(</span><em>release=''</em>, <em>version=''</em>, <em>csd=''</em>, <em>ptype=''</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.win32_ver" title="Permalink to this definition">¶</a></dt>
<dd><p>Get additional version information from the Windows Registry and return a tuple
<code class="docutils literal notranslate"><span class="pre">(release,</span> <span class="pre">version,</span> <span class="pre">csd,</span> <span class="pre">ptype)</span></code> referring to OS release, version number,
CSD level (service pack) and OS type (multi/single processor).</p>
<p>As a hint: <em>ptype</em> is <code class="docutils literal notranslate"><span class="pre">'Uniprocessor</span> <span class="pre">Free'</span></code> on single processor NT machines
and <code class="docutils literal notranslate"><span class="pre">'Multiprocessor</span> <span class="pre">Free'</span></code> on multi processor machines. The <em>‘Free’</em> refers
to the OS version being free of debugging code. It could also state <em>‘Checked’</em>
which means the OS version uses debugging code, i.e. code that checks arguments,
ranges, etc.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">This function works best with Mark Hammond’s
<code class="xref py py-mod docutils literal notranslate"><span class="pre">win32all</span></code> package installed, but also on Python 2.3 and
later (support for this was added in Python 2.6). It obviously
only runs on Win32 compatible platforms.</p>
</div>
</dd></dl>

<div class="section" id="win95-98-specific">
<h3>Win95/98 specific<a class="headerlink" href="#win95-98-specific" title="Permalink to this headline">¶</a></h3>
<dl class="function">
<dt id="platform.popen">
<code class="descclassname">platform.</code><code class="descname">popen</code><span class="sig-paren">(</span><em>cmd</em>, <em>mode='r'</em>, <em>bufsize=-1</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.popen" title="Permalink to this definition">¶</a></dt>
<dd><p>Portable <a class="reference internal" href="#platform.popen" title="platform.popen"><code class="xref py py-func docutils literal notranslate"><span class="pre">popen()</span></code></a> interface.  Find a working popen implementation
preferring <code class="xref py py-func docutils literal notranslate"><span class="pre">win32pipe.popen()</span></code>.  On Windows NT, <code class="xref py py-func docutils literal notranslate"><span class="pre">win32pipe.popen()</span></code>
should work; on Windows 9x it hangs due to bugs in the MS C library.</p>
<div class="deprecated">
<p><span class="versionmodified">Deprecated since version 3.3: </span>This function is obsolete.  Use the <a class="reference internal" href="subprocess.html#module-subprocess" title="subprocess: Subprocess management."><code class="xref py py-mod docutils literal notranslate"><span class="pre">subprocess</span></code></a> module.  Check
especially the <a class="reference internal" href="subprocess.html#subprocess-replacements"><span class="std std-ref">Replacing Older Functions with the subprocess Module</span></a> section.</p>
</div>
</dd></dl>

</div>
</div>
<div class="section" id="mac-os-platform">
<h2>Mac OS Platform<a class="headerlink" href="#mac-os-platform" title="Permalink to this headline">¶</a></h2>
<dl class="function">
<dt id="platform.mac_ver">
<code class="descclassname">platform.</code><code class="descname">mac_ver</code><span class="sig-paren">(</span><em>release=''</em>, <em>versioninfo=(''</em>, <em>''</em>, <em>'')</em>, <em>machine=''</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.mac_ver" title="Permalink to this definition">¶</a></dt>
<dd><p>Get Mac OS version information and return it as tuple <code class="docutils literal notranslate"><span class="pre">(release,</span> <span class="pre">versioninfo,</span>
<span class="pre">machine)</span></code> with <em>versioninfo</em> being a tuple <code class="docutils literal notranslate"><span class="pre">(version,</span> <span class="pre">dev_stage,</span>
<span class="pre">non_release_version)</span></code>.</p>
<p>Entries which cannot be determined are set to <code class="docutils literal notranslate"><span class="pre">''</span></code>.  All tuple entries are
strings.</p>
</dd></dl>

</div>
<div class="section" id="unix-platforms">
<h2>Unix Platforms<a class="headerlink" href="#unix-platforms" title="Permalink to this headline">¶</a></h2>
<dl class="function">
<dt id="platform.dist">
<code class="descclassname">platform.</code><code class="descname">dist</code><span class="sig-paren">(</span><em>distname=''</em>, <em>version=''</em>, <em>id=''</em>, <em>supported_dists=('SuSE'</em>, <em>'debian'</em>, <em>'redhat'</em>, <em>'mandrake'</em>, <em>...)</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.dist" title="Permalink to this definition">¶</a></dt>
<dd><p>This is another name for <a class="reference internal" href="#platform.linux_distribution" title="platform.linux_distribution"><code class="xref py py-func docutils literal notranslate"><span class="pre">linux_distribution()</span></code></a>.</p>
<div class="deprecated">
<p><span class="versionmodified">Deprecated since version 3.5, will be removed in version 3.8: </span>See alternative like the <a class="reference external" href="https://pypi.org/project/distro">distro</a> package.</p>
</div>
</dd></dl>

<dl class="function">
<dt id="platform.linux_distribution">
<code class="descclassname">platform.</code><code class="descname">linux_distribution</code><span class="sig-paren">(</span><em>distname=''</em>, <em>version=''</em>, <em>id=''</em>, <em>supported_dists=('SuSE'</em>, <em>'debian'</em>, <em>'redhat'</em>, <em>'mandrake'</em>, <em>...)</em>, <em>full_distribution_name=1</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.linux_distribution" title="Permalink to this definition">¶</a></dt>
<dd><p>Tries to determine the name of the Linux OS distribution name.</p>
<p><code class="docutils literal notranslate"><span class="pre">supported_dists</span></code> may be given to define the set of Linux distributions to
look for. It defaults to a list of currently supported Linux distributions
identified by their release file name.</p>
<p>If <code class="docutils literal notranslate"><span class="pre">full_distribution_name</span></code> is true (default), the full distribution read
from the OS is returned. Otherwise the short name taken from
<code class="docutils literal notranslate"><span class="pre">supported_dists</span></code> is used.</p>
<p>Returns a tuple <code class="docutils literal notranslate"><span class="pre">(distname,version,id)</span></code> which defaults to the args given as
parameters.  <code class="docutils literal notranslate"><span class="pre">id</span></code> is the item in parentheses after the version number.  It
is usually the version codename.</p>
<div class="deprecated">
<p><span class="versionmodified">Deprecated since version 3.5, will be removed in version 3.8: </span>See alternative like the <a class="reference external" href="https://pypi.org/project/distro">distro</a> package.</p>
</div>
</dd></dl>

<dl class="function">
<dt id="platform.libc_ver">
<code class="descclassname">platform.</code><code class="descname">libc_ver</code><span class="sig-paren">(</span><em>executable=sys.executable</em>, <em>lib=''</em>, <em>version=''</em>, <em>chunksize=16384</em><span class="sig-paren">)</span><a class="headerlink" href="#platform.libc_ver" title="Permalink to this definition">¶</a></dt>
<dd><p>Tries to determine the libc version against which the file executable (defaults
to the Python interpreter) is linked.  Returns a tuple of strings <code class="docutils literal notranslate"><span class="pre">(lib,</span>
<span class="pre">version)</span></code> which default to the given parameters in case the lookup fails.</p>
<p>Note that this function has intimate knowledge of how different libc versions
add symbols to the executable is probably only usable for executables compiled
using <strong class="program">gcc</strong>.</p>
<p>The file is read and scanned in chunks of <em>chunksize</em> bytes.</p>
</dd></dl>

</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">platform</span></code> —  Access to underlying platform’s identifying data</a><ul>
<li><a class="reference internal" href="#cross-platform">Cross Platform</a></li>
<li><a class="reference internal" href="#java-platform">Java Platform</a></li>
<li><a class="reference internal" href="#windows-platform">Windows Platform</a><ul>
<li><a class="reference internal" href="#win95-98-specific">Win95/98 specific</a></li>
</ul>
</li>
<li><a class="reference internal" href="#mac-os-platform">Mac OS Platform</a></li>
<li><a class="reference internal" href="#unix-platforms">Unix Platforms</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="curses.panel.html"
                        title="previous chapter"><code class="docutils literal notranslate"><span class="pre">curses.panel</span></code> — A panel stack extension for curses</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="errno.html"
                        title="next chapter"><code class="docutils literal notranslate"><span class="pre">errno</span></code> — Standard errno system symbols</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../bugs.html">Report a Bug</a></li>
      <li>
        <a href="https://github.com/python/cpython/blob/3.7/Doc/library/platform.rst"
            rel="nofollow">Show Source
        </a>
      </li>
    </ul>
  </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>  
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="errno.html" title="errno — Standard errno system symbols"
             >next</a> |</li>
        <li class="right" >
          <a href="curses.panel.html" title="curses.panel — A panel stack extension for curses"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="https://www.python.org/">Python</a> &#187;</li>
        <li>
          <a href="../index.html">3.7.2 Documentation</a> &#187;
        </li>

          <li class="nav-item nav-item-1"><a href="index.html" >The Python Standard Library</a> &#187;</li>
          <li class="nav-item nav-item-2"><a href="allos.html" >Generic Operating System Services</a> &#187;</li>
    <li class="right">
        

    <div class="inline-search" style="display: none" role="search">
        <form class="inline-search" action="../search.html" method="get">
          <input placeholder="Quick search" type="text" name="q" />
          <input type="submit" value="Go" />
          <input type="hidden" name="check_keywords" value="yes" />
          <input type="hidden" name="area" value="default" />
        </form>
    </div>
    <script type="text/javascript">$('.inline-search').show(0);</script>
         |
    </li>

      </ul>
    </div>  
    <div class="footer">
    &copy; <a href="../copyright.html">Copyright</a> 2001-2019, Python Software Foundation.
    <br />
    The Python Software Foundation is a non-profit corporation.
    <a href="https://www.python.org/psf/donations/">Please donate.</a>
    <br />
    Last updated on Jan 29, 2019.
    <a href="../bugs.html">Found a bug</a>?
    <br />
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.8.3.
    </div>

  </body>
</html>